package br.uniriotec.pssgbd.gerencia.model.dao.impl;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import br.uniriotec.pssgbd.gerencia.model.dao.BasePostgresDAO;
import br.uniriotec.pssgbd.gerencia.model.entidade.Usuario;

public class UsuarioPostgresDAO extends BasePostgresDAO<Usuario> {
	
	@Override
	public void alterar(Usuario entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Usuario consultarPorId(Long id) throws Exception {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void excluir(Usuario entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void incluir(Usuario entidade) throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<Usuario> listar() throws Exception {
		Connection connection = criaConexao(false);
		String sql = "select * from usuario";
		PreparedStatement stmt = null;
		ResultSet rs = null;
		Usuario usuario = null;
		List<Usuario> listaUsuario = new ArrayList<Usuario>();
		try {
			stmt = connection.prepareStatement(sql);
			rs = stmt.executeQuery();
			while (rs.next()) {
				usuario = new Usuario();
				usuario.setId((Long)rs.getLong("idusuario"));
				usuario.setNome(rs.getString("login"));
				usuario.setSenha(rs.getString("senha"));
				listaUsuario.add(usuario);
				
			}
		} catch (SQLException e) {
			throw e;
		} finally {
			try {
				stmt.close();
				rs.close();
				this.fechaConexao();
			} catch (SQLException e) {
				throw e;
			}

		}
		return listaUsuario;
	}

}
